For any computer system or device capable of running it, Microsoft Windows 95/98/ME is designed to be installed onto and to run on a non-volatile rewriteable storage medium with sufficient space and speed. Once the protected-mode portion of the operating system runs off on such storage medium, the medium cannot be removed from the computer system or device as the running system need gain access to it. In this sense, the storage medium need to be fixed with the computer system or device when the operating system starts running in protected WINDOWS mode. This description applies to local installation and running of the operating system in standalone computer system(s) or device(s) as well as Server-based Setup and running of the operating system for networked computer system(s) or device(s).
The present invention provides for running the protected-mode Microsoft Windows 95/98/ME on ramdisk in two alternative ways. The first way is called the ‘Contained Style’, the second the ‘Split Style’.
In the Contained Style, the protected-mode Microsoft Windows 95/98/ME can be run wholly on ramdisk without the need for accessing other storage medium. However, it allows non-volatile rewritable storage medium to be used, for instance, for the purposes of saving data derived from work done during using the operating system and of storing user applications. Running the operating system in the Contained Style however cannot suit all purposes and uses.
For instance, the Contained Style cannot provide for easy user flexibility. Preservation of user configuration, for instance, in relation to user application(s) set up on non-volatile rewriteable storage medium during using the operating system requires an additional back-up step before shutting down the operating system and cannot be done automatically. In this way, if such information is not backed up and restored onto the running image of the operating system on ramdisk before it is started into protected WINDOWS mode next time again, modifications to user configuration during a previous session cannot be utilized. Starting up the operating system always in the same way may be suitable or actually required in certain cases and for certain purposes. However, for other cases and purposes, preservation of modifications to user configuration may be a necessity. If such modifications have to be backed up before shutting down every session and restored every time before another session, it will lead to maintenance inconvenience.
Furthermore, for some computer system(s) or device(s), the amount of RAM, Random Access Memory, installed is limited and not sufficient to hold a full installation of the operating system, not to mention other user applications. It is thus essential to separate the core part from other less essential part of the operating system. The core part of the operating system is to be stored in a ‘System Drive’ on RAM for fast running and the less essential part on a ‘User Drive’ on non-volatile rewriteable storage medium for access when there is a need. An example is the possibility of separating Internet Explorer (to be stored on User Drive for occasional access or replaced by other similar program of choice) from the system kernel of the operating system (to be stored in a System Drive on ramdisk for fast running). User applications and its configuration can also be stored on such User Drive. The storage of less essential part of the operating system and other user applications together with their configuration on a User Drive and the preservation of their settings from session to session of running the operating system relies on the possibility of preserving such user configuration on a User Drive created on a non-volatile rewriteable storage medium.
The Split Style makes possible the phenomenon of running the operating system on ramdisk and still provides for the preservation of user configuration. This thus allows for the possibility of separating the core part (to be stored in System Drive on ramdisk for fast running) from the less essential part (to be stored on User Drive for occasional access) of the operating system and the setting up of user applications on User Drive(s). The Split Style therefore caters for user flexibility by automatically preserving modifications to user configuration during using the operating system.
In Contained Style, user configuration files and user applications, if any, are stored together with the running image of the operating system on ramdisk. In other words, the System Drive containing the running image of the operating system and the User Drive containing user configuration and user applications are all on ramdisk. At where the System Drive and the User Drive can be either separated into different drives or integrated into one and the same drive.
In Split Style, user configuration files and user applications, if any, are stored on a non-volatile rewriteable storage medium, which can be mapped and used as a drive under real DOS mode before the operating system is started into protected WINDOWS mode. They are separate from the running image of the operating system in System Drive on the ramdisk. In other words, the System Drive containing the running image of the operating system is on ramdisk and the User Drive containing user configuration and user applications is on non-volatile rewriteable storage medium.
To be able to start running Microsoft Windows 95/98/ME on ramdisk either in Contained Style or in Split Style, firstly the operating system has to be booted up under real DOS mode. Secondly, a ramdisk with sufficient size and compatible with Microsoft Windows 95/98/ME has to be set up. Thirdly, the running image of the operating system contained in System Drive has to be transferred to the ramdisk. User Drive (containing suitable configuration files and other applications if any) is placed either on ramdisk again (either integrated with System Drive or separate into another drive on ramdisk) as in the Contained Style or on other non-volatile rewriteable storage medium as in the Split Style. Lastly, Microsoft Windows 95/98/ME is started off in protected WINDOWS mode on the ramdisk by issuing the command, WIN, at the DOS command prompt.
Before this invention, no successful attempts of running Microsoft Windows 95/98/ME on ramdisk in protected WINDOWS mode have been disclosed. The ramdisk driver bundled with the operating system supports only 32 megabytes of maximum size which is not sufficient for storing and running the whole running image of the protected-mode Microsoft Windows 95/98/ME. The ramdisk (version: rhk.rd.1.0) released on 1 Jan. 2000 and copyrighted by Reliable (H. K.) Limited is found to be compatible with Microsoft Windows 95/98/ME and can be configured up to 2 gigabytes which is more than sufficient for the purpose of running the whole operating system on it.
However, the transfer of the running image of the operating system to ramdisk is made difficult by the problems associated with long filenames adopted by the operating system. The commands or programmes provided by Microsoft for copying files cannot cope with long filenames under real DOS mode for this purpose. The documentation of Microsoft—“Unable to Copy Long File Name Files to Large RAMDrive”—makes it plainly that long file name files cannot be copied to ramdisk of over 10 megabytes under Microsoft Windows 98. The document is found at http://support.microsoft.com/support/kb/articles/Q192/9/27.ASP. Microsoft Windows ME, in its official version, even disables the access to real DOS mode. This limitation, however, does not apply to the copying process after the protected-mode Microsoft Windows 95/98/ME is started. However, for the purpose of transferring the running image of the operating system to ramdisk under real DOS mode before starting it in protected WINDOWS mode, there must be a workaround solution.
In this respect, Odi's DOS tools for long file names copyrighted by Ortwin Glueck and released on 7 Dec. 1999 at http://odi.webjump.com/ appear to provide partly the solution of copying long file name files onto large ramdisk. However, this tool set contains known bugs as described in the Readme.txt accompanying the tool set.
There are two significant problems associated with the use of this tool set at present. Firstly, copying all the files comprising the whole running image of Microsoft Windows 95/98/ME using this utility file by file takes long time. Secondly, this tool set at present is only capable of dealing with Unicode characters from code pages 00h and 25h. Many versions of Microsoft Windows 95/98/ME in languages other than code pages 00h and 25h may contain long file names that this tool set cannot cope with. Thus those versions of Microsoft Windows 95/98/ME cannot be run on ramdisk by using this tool set for copying or transferring the running image.
In the case of Microsoft Windows ME, another problem of running it on ramdisk is due to the fact that this particular version of the operating system disables access to real DOS mode during the hard disk boot-up process. This suppression of real DOS mode makes loading real DOS mode drivers through CONFIG.SYS and real DOS mode programmes through AUTOEXEC.BAT or through real DOS command prompt impossible when Microsoft Windows ME boots up from a hard disk. To be able to load real DOS mode drivers or programmes, one has to boot up from the Emergency Boot Disk (prepared by Microsoft Windows ME) placed in the booting floppy drive. This creates great inconvenience. This problem, however, can be solved by writing a software which enables access to real DOS mode during hard disk booting by making patches to IO.SYS, COMMAND.COM in the root directory of the hard disk boot-up drive and REGENV32.EXE in the \WINDOWS\SYSTEM directory. One of such software, Real DOS-Mode Patch for Windows ME v1.3, has been released on the Internet. According to the document accompanying the software, Real DOS-Mode Patch for Windows ME v1.3 was released on 15 Aug. 2000 by a group called MANiFEST DESTiNY with a web-site, which appears, at the time of writing, to be engaging in other business instead of software development.
Given that the above problems are solved, simply copying or transferring the running image prepared by the installation programme of Microsoft Windows 95/98/ME to ramdisk is guaranteed to fail on running if the operating system has not been properly configured for the purpose of running on ramdisk.
This invention makes possible the running of Microsoft Windows 95/98/ME in protected WINDOWS mode on ramdisk after the operating system is booted up in real DOS mode by bootable device. Traditionally, a computer system or device is booted up from a hard disk, floppy disk or boot ROM. Microsoft documents its support of booting from alternate devices by Microsoft Windows 98, for instance, at http://www.microsoft.com/HWDEV/devdes/cdboot.htm. The EL Torito-Bootable CD-ROM Format Boot Specification, Version 1.0, is for booting a computer system from CDROM. Compaq, Intel, Phoenix BIOS Boot Specification, Version 1.01 and ATAPI Removable Media Device BIOS Specification, Version 1.0 are other specifications for booting from various forms of alternate booting devices. At present, these specifications allow booting of Microsoft Windows 95/98/ME into real DOS mode, the running of it in protected WINDOWS mode relies on the presence of a fixed non-volatile storage medium such as a fixed hard disk or a fixed removable disk. These specifications do not specify the setting up and use of ramdisk, the configuration of the running image of Microsoft Windows 95/98/ME, the transfer of this running image from a storage medium onto a ramdisk and the running of the protected-mode Microsoft Windows 95/98/ME on the ramdisk. What is left out as outlined above in these specifications is specified by this invention.
Microsoft's web page on “Bootable CD Drives and Windows 98” at http://www.microsoft.com/HWDEV/storage/cdboot98.htm points out that “[A]s implemented under Windows 98, booting from the product CD is much like booting from an emergency floppy disk—it is enough to allow users to see their devices, start an installation, and so on, but users cannot actually run the full operating system from CD”. Without this invention, this statement is applicable to Microsoft Windows 95/98/ME as a whole. Likewise, the solution of creating a CD capable of booting the full Microsoft Windows 98 at http://www.ct.heise.de/ct/english/99/11/206/put forward by Tobias Remberg and Hajo Schulz does not provide a good solution for creating a bootable CD for running Microsoft Windows 95/98/ME. It involves the use of ramdisk for storing registry files and other temporary files. In this way, the CD cannot be removed. And as the running of the operating system relies on this non-rewriteable CD, which cannot be taken away while running, the running speed is slow. The whole system may crash or may not function properly when the operating system or application programmes require(s) direct write-access to the drive represented by the CD. A better and complete solution to the problem is to completely move the whole operating system onto ramdisk so that it no longer relies on the use of CD for system operation. This is made possible by the Contained Style of this invention, which does not require any fixed non-volatile rewriteable storage medium either. For the purpose of preserving modifications to user configuration when running the operating system on ramdisk, the Split Style of this invention by definition requires a non-volatile rewriteable storage medium for its operation.